namespace Contracts.Entities
{
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, TypeName="movie")]
    [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false, ElementName="movie")]
    public partial class TmdbMovie
    {
        
        private decimal popularityField;
        
        private bool translatedField;
        
        private bool adultField;
        
        private string languageField;
        
        private string original_nameField;
        
        private string nameField;
        
        private string alternative_nameField;
        
        private string typeField;
        
        private ushort idField;
        
        private string imdb_idField;
        
        private string urlField;
        
        private string overviewField;
        
        private ushort votesField;
        
        private decimal ratingField;
        
        private string taglineField;
        
        private string certificationField;
        
        private System.DateTime releasedField;

        private uint runtimeField;
        
        private uint budgetField;
        
        private uint revenueField;
        
        private string homepageField;
        
        private string trailerField;
        
        private System.Collections.Generic.List<TmdbMovieCategory> categoriesField;
        
        private string keywordsField;
        
        private System.Collections.Generic.List<TmdbMovieStudio> studiosField;
        
        private TmdbMovieLanguages_spoken languages_spokenField;
        
        private System.Collections.Generic.List<TmdbMovieCountry> countriesField;
        
        private System.Collections.Generic.List<TmdbMovieImage> imagesField;
        
        private System.Collections.Generic.List<TmdbPerson> castField;
        
        private ushort versionField;
        
        private string last_modified_atField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="popularity")]
        public decimal Popularity
        {
            get
            {
                return this.popularityField;
            }
            set
            {
                this.popularityField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="translated")]
        public bool Translated
        {
            get
            {
                return this.translatedField;
            }
            set
            {
                this.translatedField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="adult")]
        public bool Adult
        {
            get
            {
                return this.adultField;
            }
            set
            {
                this.adultField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="language")]
        public string Language
        {
            get
            {
                return this.languageField;
            }
            set
            {
                this.languageField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="original_name")]
        public string Original_name
        {
            get
            {
                return this.original_nameField;
            }
            set
            {
                this.original_nameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="name")]
        public string Name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="alternative_name")]
        public string Alternative_name
        {
            get
            {
                return this.alternative_nameField;
            }
            set
            {
                this.alternative_nameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="type")]
        public string Type
        {
            get
            {
                return this.typeField;
            }
            set
            {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="id")]
        public ushort Id
        {
            get
            {
                return this.idField;
            }
            set
            {
                this.idField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="imdb_id")]
        public string Imdb_id
        {
            get
            {
                return this.imdb_idField;
            }
            set
            {
                this.imdb_idField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="url")]
        public string Url
        {
            get
            {
                return this.urlField;
            }
            set
            {
                this.urlField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="overview")]
        public string Overview
        {
            get
            {
                return this.overviewField;
            }
            set
            {
                this.overviewField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="votes")]
        public ushort Votes
        {
            get
            {
                return this.votesField;
            }
            set
            {
                this.votesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="rating")]
        public decimal Rating
        {
            get
            {
                return this.ratingField;
            }
            set
            {
                this.ratingField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="tagline")]
        public string Tagline
        {
            get
            {
                return this.taglineField;
            }
            set
            {
                this.taglineField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="certification")]
        public string Certification
        {
            get
            {
                return this.certificationField;
            }
            set
            {
                this.certificationField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType="date", ElementName="released")]
        public System.DateTime Released
        {
            get
            {
                return this.releasedField;
            }
            set
            {
                this.releasedField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="runtime")]
        public uint Runtime
        {
            get
            {
                return this.runtimeField;
            }
            set
            {
                this.runtimeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="budget")]
        public uint Budget
        {
            get
            {
                return this.budgetField;
            }
            set
            {
                this.budgetField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="revenue")]
        public uint Revenue
        {
            get
            {
                return this.revenueField;
            }
            set
            {
                this.revenueField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="homepage")]
        public string Homepage
        {
            get
            {
                return this.homepageField;
            }
            set
            {
                this.homepageField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="trailer")]
        public string Trailer
        {
            get
            {
                return this.trailerField;
            }
            set
            {
                this.trailerField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("category", IsNullable=false)]
        [System.Xml.Serialization.XmlArrayAttribute(ElementName="categories")]
        public System.Collections.Generic.List<TmdbMovieCategory> Categories
        {
            get
            {
                return this.categoriesField;
            }
            set
            {
                this.categoriesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="keywords")]
        public string Keywords
        {
            get
            {
                return this.keywordsField;
            }
            set
            {
                this.keywordsField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("studio", IsNullable=false)]
        [System.Xml.Serialization.XmlArrayAttribute(ElementName="studios")]
        public System.Collections.Generic.List<TmdbMovieStudio> Studios
        {
            get
            {
                return this.studiosField;
            }
            set
            {
                this.studiosField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="languages_spoken")]
        public TmdbMovieLanguages_spoken Languages_spoken
        {
            get
            {
                return this.languages_spokenField;
            }
            set
            {
                this.languages_spokenField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("country", IsNullable=false)]
        [System.Xml.Serialization.XmlArrayAttribute(ElementName="countries")]
        public System.Collections.Generic.List<TmdbMovieCountry> Countries
        {
            get
            {
                return this.countriesField;
            }
            set
            {
                this.countriesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("image", IsNullable=false)]
        [System.Xml.Serialization.XmlArrayAttribute(ElementName="images")]
        public System.Collections.Generic.List<TmdbMovieImage> Images
        {
            get
            {
                return this.imagesField;
            }
            set
            {
                this.imagesField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlArrayItemAttribute("person", IsNullable=false)]
        [System.Xml.Serialization.XmlArrayAttribute(ElementName="cast")]
        public System.Collections.Generic.List<TmdbPerson> Cast
        {
            get
            {
                return this.castField;
            }
            set
            {
                this.castField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="version")]
        public ushort Version
        {
            get
            {
                return this.versionField;
            }
            set
            {
                this.versionField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="last_modified_at")]
        public string Last_modified_at
        {
            get
            {
                return this.last_modified_atField;
            }
            set
            {
                this.last_modified_atField = value;
            }
        }
        
        public virtual bool ShouldSerializeCategories()
        {
            return ((this.Categories != null) 
                        && (this.Categories.Count > 0));
        }
        
        public virtual bool ShouldSerializeStudios()
        {
            return ((this.Studios != null) 
                        && (this.Studios.Count > 0));
        }
        
        public virtual bool ShouldSerializeCountries()
        {
            return ((this.Countries != null) 
                        && (this.Countries.Count > 0));
        }
        
        public virtual bool ShouldSerializeImages()
        {
            return ((this.Images != null) 
                        && (this.Images.Count > 0));
        }
        
        public virtual bool ShouldSerializeCast()
        {
            return ((this.Cast != null) 
                        && (this.Cast.Count > 0));
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, TypeName="movieCategory")]
    [System.Xml.Serialization.XmlRootAttribute(ElementName="movieCategory")]
    public partial class TmdbMovieCategory
    {
        private string typeField;
        
        private string nameField;
        
        private string urlField;
        
        private ushort idField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="type")]
        public string Type
        {
            get
            {
                return this.typeField;
            }
            set
            {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="name")]
        public string Name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="url")]
        public string Url
        {
            get
            {
                return this.urlField;
            }
            set
            {
                this.urlField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="id")]
        public ushort Id
        {
            get
            {
                return this.idField;
            }
            set
            {
                this.idField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, TypeName="movieStudio")]
    [System.Xml.Serialization.XmlRootAttribute(ElementName="movieStudio")]
    public partial class TmdbMovieStudio
    {
        private string nameField;
        
        private string urlField;
        
        private ushort idField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="name")]
        public string Name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="url")]
        public string Url
        {
            get
            {
                return this.urlField;
            }
            set
            {
                this.urlField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="id")]
        public ushort Id
        {
            get
            {
                return this.idField;
            }
            set
            {
                this.idField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, TypeName="movieLanguages_spoken")]
    [System.Xml.Serialization.XmlRootAttribute(ElementName="movieLanguages_spoken")]
    public partial class TmdbMovieLanguages_spoken
    {
        
        private TmdbMovieLanguages_spokenDetails language_spokenField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(ElementName="language_spoken")]
        public TmdbMovieLanguages_spokenDetails Language_spoken
        {
            get
            {
                return this.language_spokenField;
            }
            set
            {
                this.language_spokenField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, TypeName="movieLanguages_spokenLanguage_spoken")]
    [System.Xml.Serialization.XmlRootAttribute(ElementName="movieLanguages_spokenLanguage_spoken")]
    public partial class TmdbMovieLanguages_spokenDetails
    {
        
        private string codeField;
        
        private string nameField;
        
        private string native_nameField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="code")]
        public string Code
        {
            get
            {
                return this.codeField;
            }
            set
            {
                this.codeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="name")]
        public string Name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="native_name")]
        public string Native_name
        {
            get
            {
                return this.native_nameField;
            }
            set
            {
                this.native_nameField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, TypeName="movieCountry")]
    [System.Xml.Serialization.XmlRootAttribute(ElementName="movieCountry")]
    public partial class TmdbMovieCountry
    {
        public override string ToString()
        {
            return Name ?? string.Empty;
        }

        private string nameField;
        
        private string codeField;
        
        private string urlField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="name")]
        public string Name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="code")]
        public string Code
        {
            get
            {
                return this.codeField;
            }
            set
            {
                this.codeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="url")]
        public string Url
        {
            get
            {
                return this.urlField;
            }
            set
            {
                this.urlField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, TypeName="movieImage")]
    [System.Xml.Serialization.XmlRootAttribute(ElementName="movieImage")]
    public partial class TmdbMovieImage
    {
        
        private string typeField;
        
        private string urlField;
        
        private string sizeField;
        
        private ushort widthField;
        
        private ushort heightField;
        
        private string idField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="type")]
        public string Type
        {
            get
            {
                return this.typeField;
            }
            set
            {
                this.typeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="url")]
        public string Url
        {
            get
            {
                return this.urlField;
            }
            set
            {
                this.urlField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="size")]
        public string Size
        {
            get
            {
                return this.sizeField;
            }
            set
            {
                this.sizeField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="width")]
        public ushort Width
        {
            get
            {
                return this.widthField;
            }
            set
            {
                this.widthField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="height")]
        public ushort Height
        {
            get
            {
                return this.heightField;
            }
            set
            {
                this.heightField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="id")]
        public string Id
        {
            get
            {
                return this.idField;
            }
            set
            {
                this.idField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.233")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, TypeName="moviePerson")]
    [System.Xml.Serialization.XmlRootAttribute(ElementName="moviePerson")]
    public partial class TmdbPerson
    {
        private string nameField;
        
        private string characterField;
        
        private string jobField;
        
        private uint idField;
        
        private string thumbField;
        
        private string departmentField;
        
        private string urlField;
        
        private uint orderField;
        
        private uint cast_idField;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="name")]
        public string Name
        {
            get
            {
                return this.nameField;
            }
            set
            {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="character")]
        public string Character
        {
            get
            {
                return this.characterField;
            }
            set
            {
                this.characterField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="job")]
        public string Job
        {
            get
            {
                return this.jobField;
            }
            set
            {
                this.jobField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="id")]
        public uint Id
        {
            get
            {
                return this.idField;
            }
            set
            {
                this.idField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="thumb")]
        public string Thumb
        {
            get
            {
                return this.thumbField;
            }
            set
            {
                this.thumbField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="department")]
        public string Department
        {
            get
            {
                return this.departmentField;
            }
            set
            {
                this.departmentField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="url")]
        public string Url
        {
            get
            {
                return this.urlField;
            }
            set
            {
                this.urlField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="order")]
        public uint Order
        {
            get
            {
                return this.orderField;
            }
            set
            {
                this.orderField = value;
            }
        }
        
        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(AttributeName="cast_id")]
        public uint Cast_id
        {
            get
            {
                return this.cast_idField;
            }
            set
            {
                this.cast_idField = value;
            }
        }
    }
}
